package cn.edu.qzuie.artist.module.td.controller.admin.student.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;


import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 学生新增/修改 Request VO")
@Data
public class StudentSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "28080")
    private Long id;

    @Schema(description = "学号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "学号不能为空")
    private String studentNo;

    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "密码不能为空")
    private String password;

    @Schema(description = "手机")
    private String mobile;

    @Schema(description = "艺名", example = "芋艿")
    private String nickName;

    @Schema(description = "真实姓名", example = "赵六")
    private String realName;

    @Schema(description = "生日", example = "2025-10-10")
    private LocalDate birthday;

    @Schema(description = "性别")
    private Integer gender;

    @Schema(description = "入校时间")
    private LocalDate incoming;

    @Schema(description = "QQ")
    private String qq;

    @Schema(description = "头像")
    private String headerPic;

    @Schema(description = "状态")
    private Integer studentState;

    @Schema(description = "邮件")
    private String email;

    @Schema(description = "专业编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "专业编号不能为空")
    private Long majorId;

    @Schema(description = "班级编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "班级编号不能为空")
    private Long classinfoId;

}